package cn.bugstack.springframework;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;


/**
 * 完成了bean的注册
 */
public class BeanFactory {

    /**
     * ConcurrentHashMap 是 Java 标准库中提供的一个线程安全的 HashMap 变体。它允许并发访问和更新，因此在多个线程需要读取和修改共享映射的情况下非常受欢迎
     */
     private Map<String,BeanDefination> beanDefinationMap = new ConcurrentHashMap<String,BeanDefination>();//这里用ConcurrentHashMap主要考虑线程安全问题

     public Object getBean(String name){
         return beanDefinationMap.get(name).getBean();
     }

     public void registerBeandefination(String name,BeanDefination beanDefination){

         beanDefinationMap.put(name,beanDefination);

     }
}
